package com.nbcb.fund.service.impl;

import com.nbcb.fund.common.util.DateUtil;
import com.nbcb.fund.common.util.TokenGenerator;
import com.nbcb.fund.dao.FundUserLoginTokenDao;
import com.nbcb.fund.entity.po.FundUserLoginTokenPo;
import com.nbcb.fund.entity.po.FundUserPo;
import com.nbcb.fund.service.FundUserLoginTokenService;
import com.nbcb.fund.service.MyFundKeyService;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;

@Service
public class FundUserLoginTokenServiceImpl implements FundUserLoginTokenService {

    @Resource
    FundUserLoginTokenDao fundUserLoginTokenDao;

    @Override
    public FundUserLoginTokenPo generateToken(FundUserPo fundUserPo) {
        FundUserLoginTokenPo fundUserLoginTokenPo = new FundUserLoginTokenPo();
        fundUserLoginTokenPo.setUserId(fundUserPo.getUserId());
        String token = TokenGenerator.generateValue();
        fundUserLoginTokenPo.setUserToken(token);
        fundUserLoginTokenPo.setLoginTime(DateUtil.nowDate());
        fundUserLoginTokenDao.insertSelective(fundUserLoginTokenPo);
        return fundUserLoginTokenPo;
    }

    @Override
    public FundUserLoginTokenPo getByToken(String token) {
        return  fundUserLoginTokenDao.selectByToken(token);
    }

    @Override
    public Integer updateByUserId(FundUserLoginTokenPo fundUserLoginTokenPo) {
        int i = fundUserLoginTokenDao.updateByPrimaryKey(fundUserLoginTokenPo);
        return i;
    }

}
